package com.erp.statistics.order.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.web.oldDomain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 子订单信息统计业务对象 erp_child_order_statistics
 *
 * @author erp
 * @date 2023-07-19
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ErpChildOrderStatisticsBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 订单号
     */
    @NotNull(message = "订单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderId;

    /**
     * 子单号
     */
    @NotBlank(message = "子单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String childOrderId;

    /**
     * 商品数量
     */
    @NotBlank(message = "商品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String productCount;

    /**
     * 商品采购单价
     */
    @NotBlank(message = "商品采购单价不能为空", groups = { AddGroup.class, EditGroup.class })
    private String productUnitPrice;

    /**
     * 商品采购总价
     */
    @NotBlank(message = "商品采购总价不能为空", groups = { AddGroup.class, EditGroup.class })
    private String productTotalPrice;

    /**
     * 商品物流单价
     */
    @NotBlank(message = "商品物流单价不能为空", groups = { AddGroup.class, EditGroup.class })
    private String logisticsUnitPrice;

    /**
     * 商品物流总价
     */
    @NotBlank(message = "商品物流总价不能为空", groups = { AddGroup.class, EditGroup.class })
    private String logisticsTotalPrice;

    /**
     * 商品采购成本单价
     */
    @NotBlank(message = "商品采购成本单价不能为空", groups = { AddGroup.class, EditGroup.class })
    private String costUnitPrice;

    /**
     * 子单采购总成本
     */
    @NotBlank(message = "子单采购总成本不能为空", groups = { AddGroup.class, EditGroup.class })
    private String costTotalPrice;

    /**
     * 乐观锁
     */
    @NotBlank(message = "乐观锁不能为空", groups = { AddGroup.class, EditGroup.class })
    private String revision;

    /**
     * 商品编码
     */
    private String skuCode;

    /**
     * 真实采购价
     */
    private String realityPurchasePrice;

}
